
[2020] 정보 처리 기사 실기 10-응용 SW 기초 기술 활용(2)
2020-07-17 21:02 시에 저장한 글입니다.
정보처리기사 공부 후 정리 자료입니다. 정확하지 않을 수 있으니 꼭 책을 참고해서 공부하세요
2020 정보 처리 기사 응용 SW 기초 기술 활용 요약 입니다. 정처기 공부를 할 때 활용하세요.
1. 교착상태(Dead Lock)
교착 상태: 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상- 교착상태 발생의 필요 충분 조건
(상점비환) 상호 배제: 한번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함점유와 대기: 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함비선점: 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함환형 대기: 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에있는 프로세스의 자원을 요구해야 함- 교착 상태 해결 방법
-
예방 기법: 교착상태가 발생하지 않도록 사전에 시스템을 제어하는 방법으로, 교착상태 발생의 네가지 조건 중에서 어느 하나를 제거함으로써 수행- 상호 배제 부정 : 한 번에 여러 개의 프로세스가 공유 자원을 사용할 수 있도록 함
- 점유 및 대기 부정 : 프로세스가 실행되기 전 필요한 모든 자원을 할당하여 프로세스 대기를 없애거나 자원이 점유되지 않은 상태에서만 자원을 요구하도록 함
- 비선점 부정 : 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때 점유하고 있는 자원을 반납하고, 요구한 자원을 사용하기 위해 기다리게 함
- 환형 대기 부정 : 자원을 선형 순서로 분류하여 고유 번호를 할당하고, 각 프로세스는 현재 점유한 자원의 고유 번호보다 앞이나 뒤 어느 한쪽 방향으로만 자원을 요구하도록 하는 것
회피 기법: 교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해나가는 방법으로, 주로 은행원 알고리즘이 사용발견 기법: 시스템에 교착 상태가 발생했는지 점검하여 교착 상태에 있는 프로세스와 자원을 발견하는 것으로, 자원 할당 그래프 등을 사용회복 기법: 교착 상태를 일으킨 프로세스를 종료하거나 교착 상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것
2. 데이터베이스
데이터베이스: 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임-
데이터베이스의 정의
(통저운공)통합된 데이터: 검색의 효율성을 위해 중복이 최소화된 데이터의 모임저장된 데이터: 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터운영 데이터: 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안될 반드시 필요한 데이터공용 데이터: 여러 응용 시스템들이 공동 으로 소유하고 유지하는 데이터
DBMS(데이터베이스 관리 시스템): 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해 주는 소프트웨어-
DBMS의 필수 기능
(정조제)정의(Definition) 기능: 모든 응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터의 형(Type)과 구조에 대한 정의, 이용방식, 제약 조건 등을 명시하는 기능조작(Manipulation) 기능: 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능제어(Control) 기능: 데이터베이스를 접근하는 갱신, 삽입, 삭제 작업이 정확하게 수행되어 데이터의 무결성이 유지되도록 제어하는 기능
-
DBMS의 종류
(계망관)계층형 DBMS: 트리(Tree) 구조를 이용해서 데이터의 상호관계를 계층적으로 정의한 DBMS로, 개체 타입 간 에는 상위와 하위 관계가 존재하며, 일대다(1:N) 대응 관계만 존재망형 DBMS: 그래프를 이용해서 데이터 논리 구조를 표현한 DBMS로, 상위와 하위 레코드 사이에서 1:1, 1:N, N:M(다대다) 대응 관계를 모두 지원관계형 DBMS: 계층형과 망형 DBMS의 복잡한 구조를 단순화시킨 가장 널리 사용되는 DBMS로, 파일 구조처 럼 구성한 2차원적인 표(를 하나의 DB로 묶어서 테이블 내에 있는 속성들 간의 관계를 설정하거나 테이블 간의 관계를 설정하여 이용
3. 분산 데이터베이스
- 논리적으로는 같은 시스템에 속하지만 물리적으로는 컴퓨터 네트워크를 통해 분산되어 있는 데이터베이스
위치 투명성: 접근하려는 데이터 베이스의 실제 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 접근할 수 있음중복 투명성: 동일한 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용할 수 있고, 시스템은 자동으로 여러 데이터에 대한 작업을 수행병행 투명성: 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실행되더라도 그 트랜잭션들의 수행 결과는 서로 영향을 받지 않음장애 투명성: 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션은 정확하게 수행
4. 고급 데이터베이스
데이터 웨어하우스: 급증하는 다량의 데이터를 효과적으로 분석하여 정보화하고 이를 여러 계층의 사용자들이 효율적으로 사용할 수 있도록 한 데이터베이스데이터 마트: 전사적으로 구축된 데이터 웨어하우스로부터 특정 주제나 부서 중심으로 구축된 소규모 단일 주제의 데이터 웨어하우스데이터 마이닝: 데이터 웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를 발견하기 위한 기법OLAP: 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사 결정에 활용하는 방식OLTP: 온라인 업무 처리 형태의 하나로 네트워크상의 여러 이용자가 실시간으로 데이터베이스의 데이터를 갱신하거나 검색하는 등의 단위 작업을 처리하는 방식
5. ER(Entity Relationship) 모델
ER 모델: 개념적 데이터 모델의 가장 대표적인 것으로, 1976년 피터 첸에 의해 제안
관계: 2개 이상의 개체 사이에 존재하는 연관성관계 타입: 같은 관계들의 집합 또는 틀- 관계는 관계에 참여하는 개체 타입의 개수에 대한 차수와 관계에 참여하는 개체 어커런스의 개수에 대한 대응 카디널리티를 갖음
-
차수에 따른 관계의 종류
단항 관계: 관계에 참여하고 있는 개체 타입이 1개인 관계이항 관계: 관계에 참여하고 있는 개체 타입이 2개인 관계삼항 관계: 관계에 참여하고 있는 개체 타입 이 3개인 관계n항 관계: 관계에 참여하고 있는 개체 타입이 n개인 관계
-
대응 카디널리티에 따른 관계의 종류
1:1 관계: 관계에 참여하고 있는 두 개체 타입이 모두 하나씩의 개체 어커런스를 갖는 관계1:N 관계: 관계에 참여하고 있는 개체 타입 중 한 개체 타입은 여러 개의 개체 어커런스를 가질 수 있고, 다른 한 개체 타입은 하나의 개체 어커런스를 갖는 관계N:M 관계: 관계에 참여하고 있는 두 개체 타입 모두 여러 개의 개체 어커런스를 가질 수 있는 관계
6. 관계 데이터베이스의 Relation 구조
- 릴레이션 : 데이터들을 표(Table)의 형태로 표현한 것, 릴레이션 스키마(=구조를 나타냄)와 릴레이션 인스턴스(=실제 값들)로 구성
-
튜플(Tuple)- 튜플 = 각각의 행 = 레코드=카디널리티
- 속성의 모임으로 구성
튜플의 수 = 카디널리티(Cardinality) = 행 = 기수 = 대응수(튜카행기대)
-
속성(Attribute)- 각각의 열( = 데이터 항목 또는 데이터 필드)
- 데이터베이스를 구성하는 가장 작은 논리적 단위
- 개체의 특성을 기술.
속성의 수 = 디그리(Degree) = 차수
-
도메인- 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값들의 집합
- 실제 애트리뷰트 값이 나타날 때 그 값의 합법 여부를 시스템이 검사하는 데에도 이용
릴레이션 인스턴스: 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 갖고 있는 것
7. ER 모델을 관계형 데이터 모델로 변환
- 개념적 데이터 모델인 ER 모델을 논리적 데이터 모델인 릴레이션 스키마로 변환하는 것으로, 매핑 룰이라고도 함
-
개체 A, B와 관계 Y로 이루어진 ER 모델을 관계형 데이터 모델에서의 릴레이션 스키마로 변환하는 과정은 다음과 같음
- 개체 A, B는 각각 독립적인 릴레이션 A, B로 표현된다. 또한, ER 도형에서의 각 개체의 속성들은 각 릴레이션의 속성들로 정의되고, 기본키는 밑줄을 그어 표시
- 관계 Y가 1:1 관계 : 릴레이션 A의 기본키를 릴레이션 B의 외래키로 추가하거나 릴레이션 B의 기본키를 릴 레이션 A의 외래키로 추가하여 표현
- 관계 Y가 1:N 관계 : 릴레이션 A의 기본키를 릴레이션 B의 외래키로 추가하여 표현
- 관계 Y가 N:M 관계 : 릴레이션 A와 B의 기본키를 모두 포함한 별도의 릴레이션으로 표현
8. 키(Key)의 개념 및 종류
키(Key): 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성슈퍼키(Super Key): 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못함-
후보키(Candidate Key): 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합으로, 유일성과 최소성을 모두 만족- 유일성 : 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 함
- 최소성 : 키를 구성하는 속성 하나를 제거하면 유일하게 식별할 수 없도록 꼭 필요한 최소의 속성으로 구성되어야 함ㄴ
기본키(Primary Key): 후보키 중에서 특별히 선정된 키 로 중복된 값과 NULL 값을 가질 수 없음대체키(Alternate Key): 후보키 중에서 선정된 기본키를 제외한 나머지 후보키를 의미함외래키(Foreign Key): 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미하며, 릴레이션 간의 관계를 표현할 때 사용
9. 무결성(Integrity)
-
무결성: 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 의미(개도참사널고키관)개체 무결성(실체 무결성): 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복값을 가질 수 없음도메인 무결성(영역 무결성): 주어진 속성 값이 정의된 도메인에 속한 값이어야 함참조 무결성: 외래키 값은 Null이거 나 참조 릴레이션의 기본키 값과 동일해야 함. 즉 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음사용자 정의 무결성: 속성 값들이 사용자가 정의한 제약조건에 만족해야 함NULL 무결성: 릴레이션의 특정 속성 값이 NULL이 될 수 없도록 함고유 무결성: 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성값들이 서로 달라야 함키 무결성: 하나의 릴레이션에는 적어도 하나의 키가 존재해야 함관계 무결성: 릴레이션에 어느 한 튜플의 삽입 가능 여부 또는 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계에 대한 적절성 여부를 지정
